var types = ['onDefault', 'onPrimary', 'onWarn']

var pageObject = {

  /**
   * 页面的初始数据
   */
  data: {
    pageName: 'MainHome',
    //普通数据绑定
    message: 'message',
    //列表渲染
    array: [1, 2, 3, 4, 5],
    //条件渲染
    view: 'APP',
    onDefaultSize: 'default',
    onPrimarySize: 'default',
    onWarnSize: 'default',
    disabled: false,
    plain: false,
    loading: false
  },

  /**
   * 点击设置以上按钮disabled属性
   */
  setDisabled: function (options) {
    this.setData({
      disabled: !this.data.disabled
    })
  },

  /**
   * 点击设置以上按钮plain属性
   */
  setPlain: function (options) {
    this.setData({
      plain: !this.data.plain
    })
  },

  /**
   * 点击设置以上按钮loading属性
   */
  setLoading: function (options) {
    this.setData({
      loading: !this.data.loading
    })
  },


  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }

}

//根据函数名生成按钮响应函数
for(var i= 0; i < types.length; i++) {
  (function(type) {
    pageObject[type] = function(e) {
      console.log("type")
      var key = type + 'Size'
      var changeData = {}
      changeData[key] = this.data[key] === 'default' ? 'mini' :  'default'
      this.setData(changeData)
    }
  })(types[i])
}
Page(pageObject)